#include "phys.h"

class Layer {

 protected:

  int xnum;
  int ynum;											
  int tnum;
  double Temperature;
  double lhs_alloy_x;
  double rhs_alloy_x;
  double lhs_alloy_y;
  double rhs_alloy_y;
  double doping_lhs;
  double doping_rhs;
  double bias;
  double dx;
  double dy;
  double dt;

 public:

  Alloy_var * agrid;
  Phys_var ***	grid3d;
  Phys_var **	grid2d;
  Phys_var * 	grid1d;
  Layer() {}
  ~Layer();
  void set(int, int, int, double,double,double,double,double,double,
	   double,double,double,double,int,double, char *,double,double,int,double);
  void bias_modify(double);
  double xsize() { return dx; }
  double ysize() { return dy; }
  double tsize() { return dt; }
  double ret_doping_lhs() { return doping_lhs;}
  double ret_doping_rhs() { return doping_rhs;}
  int numx() { return xnum; }
  int numy() { return ynum; }
  int numt() { return tnum; }
  void show(double pos, FILE * fp1, FILE * fp2, FILE * fp3, 
	    FILE * fp4,FILE * fp5, FILE * fp6, FILE * fp7, FILE * fp8, FILE * fp9);

};
